// 这个模块文件，会将所有与用户相关的后台接口方法封装起来
import request from '@/utils/request.js'

/**
 * 获取当前登录用户的信息
 * @returns
 */
export function getCurrentUser () {
  return request({
    method: 'GET',
    url: '/h5/user/currentUser'
  })
}

/**
 * 用户登录
 * @param {*} username 用户名，也可以是一个对象，形如：{ username, password }
 * @param {*} password 密码
 * @returns Promise<响应结果>
 */
export const login = function (username, password) {
  let data

  if (arguments.length === 2) {
    data = { username, password }
  } else {
    data = username
  }

  return request({
    method: 'POST',
    url: '/h5/user/login',
    data
  })
}

/**
 * 注册用户
 * @param {*} username 用户名，也可以是一个对象，形如：{ username, password }
 * @param {*} password 密码
 */
export const register = function (username, password) {
  let data

  // arguments：实参列表，箭头函数中没有 arguments

  // 如果参数列表有两个，说明在调用时 是分开传的
  if (arguments.length === 2) {
    data = { username, password }
  } else { // 反之，就是一个对象，其中包括了账号和密码
    data = username
  }

  return request({
    method: 'POST',
    url: '/h5/user/register',
    data
  })
}
